home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0256 / mdebug22.exe / WHATS.NEW < prev   
Text File  |  1992-11-21  |  17KB  |  394 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                  MDEBUG
  10.  
  11.                              Version  V2.05
  12.  
  13.                  Highperformance Debugging Tool für PCs
  14.  
  15.            Änderungen und Erweiterungen ab der Version V2.00
  16.  
  17.                            Copyright 1992 by
  18.                              Bernd Schemmer
  19.                           All Rights reserved.
  20.  
  21.  
  22.  
  23. Behobene Fehler in der Version V2.00 vom 01.07.1992
  24. ───────────────────────────────────────────────────
  25.  
  26. ■ Die Taste <ALT-F5> im Interpreter hat in der vorherigen Version (nur
  27.   in den  Kopien von  MDEBUG.COM mit  einem Datum vor  dem 01.04.1992)
  28.   einen Systemabsturz verursacht. Der Fehler wurde behoben.
  29.  
  30. ■ Das Zeichen '■' ist, im Gegensatz zur Angabe in der Dokumentation der
  31.   vorherigen Version,  bei  der Suche  einer Bytefolge über den  Befehl
  32.   SH im  Interpreter  KEIN Jokerzeichen  (wohl aber  bei  der  Suche im
  33.   Monitor).
  34.  
  35. ■ Die  Offsets in der  Tabelle mit  dem Aufbau  der  Datenstruktur  von
  36.   MDEBUG (Funktion 2 der Kommandotreiber) ab dem Offset 3Ah (exklusive)
  37.   waren in der Dokumentation der vorherigen Version falsch angegeben.
  38.   Richtig ist:
  39.  
  40.   ┌─────────────────┬───────┬────────────────────────────────┐
  41.   │ Offset          │       │ Funktion der Speicherstelle    │
  42.   │ (relativ zu DI) │ Länge │                                │
  43.   ╞═════════════════╪═══════╪════════════════════════════════╡
  44.   │ 00h .. 3Ah      │       │ Angaben waren korrekt          │
  45.   │                 │       │                                │
  46.   │                 │       │ Die nächsten Angaben waren     │
  47.   │                 │       │ fehlerhaft, sie müssen lauten: │
  48.   │ 3Ah             │ 18h   │ gesicherte Registerwerte (...) │
  49.   │ 52h             │ 18h   │ gesicherte Registerwerte (...) │
  50.   │                 │       │                                │
  51.   │ 6Ah             │  4h   │ Adresse des DOS-Info-Blocks    │
  52.   │                 │       │                                │
  53.   │ ...             │       │ Die Offsets der folgenden      │
  54.   │                 │       │ Felder müssen jeweils um 18h   │
  55.   │                 │       │ (= 24xD) erhöht werden         │
  56.   └─────────────────┴───────┴────────────────────────────────┘
  57.  
  58.  
  59.  
  60.  
  61.  
  62. Erweiterungen der Version V2.00 vom 01.07.1992
  63. ──────────────────────────────────────────────
  64.  
  65. ■ MDEBUG  benutzt jetzt  Buchstaben-Schalter  zur Anzeige verschiedener
  66.   Schalterstellungen.  Diese werden  jeweils auf den oberen  Rahmen der
  67.   Fenster des Monitors bzw. des Interpreters ausgegeben.
  68.  
  69.   Im Monitor sind folgende Schalter implementiert:
  70.  
  71.   ┌──────────┬───────┬──────────────────────────────────┬───────────┐
  72.   │ Schalter │ Wert  │Bedeutung                         │  Taste    │
  73.   ╞══════════╪═══════╪══════════════════════════════════╪═══════════╡
  74.   │ Monitor- │  b    │ direkte Änderungen im Monitor    │  <CTRL-B> │
  75.   │ Mode     │       │ möglich                          │           │
  76.   │          │  B    │ direkte Änderungen im Monitor    │           │
  77.   │          │       │ NICHT möglich                    │           │
  78.   ├──────────┼───────┼──────────────────────────────────┼───────────┤
  79.   │ Update-  │  *    │ Monitor-Inhalt wird laufend      │   <F9>    │
  80.   │ Mode     │       │ upgedated                        │           │
  81.   │          │  -    │ Monitor-Inhalt wird nur nach     │           │
  82.   │          │       │ einem Tastendruck upgedated      │           │
  83.   └──────────┴───────┴──────────────────────────────────┴───────────┘
  84.  
  85.   Im Interpreter sind folgende Schalter implementiert:
  86.  
  87.   ┌──────────┬───────┬──────────────────────────────────┬───────────┐
  88.   │ Schalter │ Wert  │Bedeutung                         │  Taste    │
  89.   ╞══════════╪═══════╪══════════════════════════════════╪═══════════╡
  90.   │ Upcase-  │  U    │ Buchstaben werden in Großbuch-   │  <CTRL-U> │
  91.   │ Mode     │       │ staben konvertiert               │           │
  92.   │          │  u    │ Buchstaben werden NICHT in Groß- │           │
  93.   │          │       │ buchstaben konvertiert           │           │
  94.   ├──────────┼───────┼──────────────────────────────────┼───────────┤
  95.   │ Quiet-   │  Q    │ akustische Ausgaben sind aus-    │  <CTRL-Q> │
  96.   │ Mode     │       │ geschaltet                       │           │
  97.   │          │  q    │ akustische Ausgaben sind einge-  │           │
  98.   │          │       │ schaltet                         │           │
  99.   ├──────────┼───────┼──────────────────────────────────┼───────────┤
  100.   │ Input-   │  I    │ Eingaben erfolgen im INSERT-     │  <INSERT> │
  101.   │ Mode     │       │ Modus                            │           │
  102.   │          │  i    │ Eingaben erfolgen im OVERWRITE-  │           │
  103.   │          │       │ Modus                            │           │
  104.   └──────────┴───────┴──────────────────────────────────┴───────────┘
  105.  
  106.  
  107. ■ Im Monitor von MDEBUG wird nun  der Wert des  aktuellen Bytes auch im
  108.   dezimalen Format und als ASCII-Code ausgegeben.
  109.  
  110. ■ Die Eingabeparameter der Funktion 3h des Interfaces für die Kommando-
  111.   treiber wurden erweitert.
  112.  
  113. ■ Fehlerhafte oder falsche Parameter führen jetzt zum Programm-Abbruch.
  114.  
  115. ■ Beim Parameter 'HELP' reicht jetzt  die Angabe eines Pfades falls die
  116.   Hilfstextdatei 'MDEBUG.HLP' heißt.
  117.  
  118. ■ Im Scrollbar der Online-Hilfe  von MDEBUG werden jetzt auch die unge-
  119.   fähren Positionen der Marker angezeigt.
  120.  
  121. ■ Die Meldungen von MDEBUG wurden erweitert.
  122.  
  123. ■ Die Werte der Errorlevel von MDEBUG wurden geändert.
  124.  
  125. ■ Das  Util CALLMDB  erkennt jetzt  ebenfalls  den Parameter '#' (siehe
  126.   Beschreibung der Parameter von MDEBUG).
  127.  
  128. ■ Der  Speicherbedarf des  Kommandotreibers  MDHIDSRV.COM konnte  durch
  129.   weitere Optimierungen um 400 Byte gesenkt werden.
  130.  
  131. ■ Die Abbruchtaste für das Util SHOWINT ist jetzt <CTRL-X>.
  132.  
  133.  
  134.  
  135.  
  136.  
  137. Korrekturen und Erweiterungen der Version V2.00 des Treibers MDDISDRV.COM
  138. ─────────────────────────────────────────────────────────────────────────
  139.  
  140. ■ Der Algorithmus  zum seitenweisen  Rückwärtsscrollen (Taste <PageUp>)
  141.   wurde wesentlich verbessert. Er  ist jetzt ca. 50 % schneller und zu-
  142.   sätzlich auch noch sehr viel zielgenauer als vorher!
  143.  
  144. ■ Im Disassembler können  jetzt auch Referenzen auf bestimmte Speicher-
  145.   stellen gesucht werden.  Hierfür wurden folgende Tastenbelegungen neu
  146.   implementiert:
  147.  
  148.   <F8>
  149.  
  150.   Sucht eine Code-Referenz (z.B. 'jmp cb', 'int n', 'jc cb', etc.)  auf
  151.   eine beliebige Adresse ab der Adresse in der aktuellen Zeile.
  152.  
  153.   <SHIFT-F8>
  154.  
  155.   Sucht  eine  Daten-Referenz  (z.B. 'mov ax,[ew]')  auf eine beliebige
  156.   Adresse ab der Adresse in der aktuellen Zeile.
  157.  
  158.   In beiden Fällen  kann als  Adresse,  für die  eine Referenz  gesucht 
  159.   werden soll, eine beliebige Kombination  aus Segment  und Offset ein-
  160.   gegeben werden.  Beachtet werden  muß, daß bei der  Suche  nach einer
  161.   Daten-Referenz der eingegebene Wert für das Segment ignoriert wird.
  162.  
  163.   Gesucht  wird immer nur bis zum Ende eines Segments.  Die Suche  kann
  164.   jederzeit über die Taste <ESC>  abgebrochen werden.  Falls  die Suche
  165.   abgebrochen oder keine Referenz  gefunden wurde, wird die Anzeige des
  166.   Disassemblers  nicht verändert. In diesen Fall kann zudem direkt nach
  167.   der Suche über die Taste <0> der letzte  überprüfte Befehl  ermittelt
  168.   werden (d.h. falls eine abgebrochene Suche ab dem zuletzt überprüften
  169.   Befehl fortgesetzt werden soll,  müssen hierfür direkt nach der Suche
  170.   die Tasten <0> und <F8> bzw. <SHIFT-F8> benutzt  werden).
  171.   Wird  eine  Referenz gefunden, wird der Code ab dem gefundenen Befehl
  172.   im Disassembler angezeigt.
  173.  
  174.   <CTRL-F8>
  175.  
  176.   Letzte Suche fortsetzen.
  177.   Gesucht wird die zuletzt gesuchte Adresse mit dem zuletzt angegebenen
  178.   Referenz-Art (Code / Data)  ab dem auf  den zuletzt gefundenen Befehl
  179.   folgenden Befehl (d.h. nicht ab dem aktuellen Befehl!).
  180.   Diese Funktion ist nur möglich, falls vorher  mindestens einmal  eine
  181.   Daten- oder Code-Referenz gesucht wurde.
  182.  
  183.  
  184.  
  185.  
  186.  
  187. ■ Das Zeichen #26 wird jetzt vom Befehl DC nicht mehr interpretiert.
  188.   Zur  Kennzeichnung des Endes der Parameters muß  daher jetzt das Ver-
  189.   kettungszeichen ('^') von MDEBUG verwendet werden
  190.  
  191. ■ Beim Scrollen  des Stacks  (Taste <TAB>)  wird jetzt jeweils der Code
  192.   bzw. die Daten für die aktuelle Stack-Adresse in den oberen 10 Zeilen
  193.   angezeigt.
  194.   Die 'alte Form' des  Scrollens kann über die Taste <SHIFT-TAB> aufge-
  195.   rufen werden.
  196.  
  197. ■ Falls der  Adressen-Stack  blockiert ist,  kann jetzt auch  die Taste
  198.   <CursorRight> nicht mehr benutzt werden.
  199.  
  200. ■ Die Ausgabe von immediate Bytes bzw. Words wurde verbessert.
  201.   U.a. werden jetzt die Operanden von logischen Befehlen (AND, OR, TEST
  202.   und XOR), falls möglich, nur im binären Format ausgegeben. 
  203.  
  204. ■ Falls  ein Verzweigungsbefehl  ( CALL, JMP, INT, etc.)  auf einen der
  205.   Befehle RET, RETF, IRET  oder HLT zeigt, wird  dies jetzt  hinter dem
  206.   Verzweigungsbefehl als Kommentar angezeigt.
  207.  
  208. ■ Durch die Taste <CTRL-End> kann  das Fenster des  Disassemblers jetzt
  209.   in den unteren Bildschirmbereich verschoben werden.
  210.  
  211. ■ Durch die Taste <CTRL-Home> kann das Fenster des  Disassemblers jetzt
  212.   in den oberen Bildschirmbereich verschoben werden.
  213.  
  214. ■ Über die beiden neuen Parameter '*name' und '&name'  kann  jetzt  der 
  215.   Status des Disassemblers in eine Datei gesichert bzw. aus einer Datei 
  216.   geladen werden.
  217.  
  218.  
  219.  
  220.  
  221.  
  222. Behobene Fehler in der Version V2.02 vom 01.08.1992
  223. ───────────────────────────────────────────────────
  224.  
  225. ■ Die Befehle 'En', 'n:' und die Macro-Funktionen über die Tastenkombi-
  226.   nationen  <ALT-n>  funktionierten in  der Version V2.00  des Treibers
  227.   MDHISDRV nicht korrekt falls versucht wurde, mehr als einen Befehl in
  228.   einem Puffer zu sichern. Der Fehler wurde beseitigt.
  229.  
  230. ■ Der Befehl 'LA' funktionierte ebenfalls nicht korrekt in der  Version
  231.   V2.00 des Treibers MDHISDRV.COM. Der Fehler wurde korrigiert.
  232.  
  233. ■ Der  Parameter '/I'  des Treiber  MDHISDRV.COM  hat in der vorherigen 
  234.   Version NICHT korrekt funktioniert (Ein über diesen Parameter erstel-
  235.   tes  Programm  hat einen Systemabsturz verursacht).  Der Fehler wurde 
  236.   beseitigt.
  237.  
  238. ■ Falls  versucht wurde, eine genau  in den  Puffer  für  den Hilfstext
  239.   passende neue Hilfstextdatei in eine  residente Version von MDEBUG zu
  240.   laden,  hat MDEBUG  in der  vorherigen Version irrtümlich die Fehler-
  241.   meldung
  242.  
  243.   MDEBUG: Der Puffer der residenten Version ist zu klein!
  244.           Die Hilfstextdatei wurde nicht vollständig gelesen.
  245.  
  246.   ausgegeben. Der Fehler wurde beseitigt.
  247.  
  248. ■ In der Version V2.00 von MDEBUG war  es nicht möglich, eine mit einem
  249.   aktivem Passwort installierte Version von MDEBUG zu ändern, falls das
  250.   Passwort  nicht  schon  beim Installieren  von  MDEBUG aktiv war. Der
  251.   Fehler wurde beseitigt.
  252.  
  253. ■ Die in  der  Vollversion  von  MDEBUG  mitgelieferten  Quelltexte der
  254.   Bildschirm- und Kommandotreiber wurden komplett neu überarbeitet.
  255.   Hierbei  wurden  auch einige  kleinere  Fehler  (insbesondere bei der
  256.   Bearbeitung der Parameter) eliminiert.
  257.  
  258. ■ Ein  kleinerer Fehler  bei der Ausgabe  des  Absolutwerts des Offsets
  259.   eines Speicheroperanden (ABS: nnnn) im Disassembler wurde korrigiert.
  260.  
  261. ■ Leider hat der Disassembler auch in der vorherigen Version noch nicht
  262.   alle möglichen Varianten der Befehle  mit dem Opcode 83h korrekt aus-
  263.   gegeben. Der Fehler wurde beseitigt.
  264.  
  265.  
  266.  
  267. Erweiterungen der Version V2.02 vom 01.08.1992
  268. ──────────────────────────────────────────────
  269.  
  270. ■ Der Puffer für einen  Hilfstext für die  Online-Hilfe wird von MDEBUG
  271.   jetzt immer  so  aufgerundet,  daß der Speicherblock komplett genutzt
  272.   wird.  (d.h.  der  eingerichtete Puffer für den Hilfstext kann bis zu
  273.   15 Byte größer als  die geladene  Hilfstext-Datei  bzw. der  Wert des
  274.   Parameters 'BUF' werden.)
  275.  
  276. ■ In der  Version V2.02 des Disassemblers MDDISDRV ist es jetzt möglich
  277.   die Werte der Schalter  und Variablen des Disassemblers  auch während
  278.   der Anzeige der zweiten Seite der Online-Hilfe zu ändern.
  279.  
  280. ■ Die zweite  Seite der  Online-Hilfe  des Disassemblers  kann nun auch
  281.   direkt über die Taste <O> aufgerufen werden.
  282.  
  283. ■ Falls die Online-Hilfe des Disassemblers über die Taste <F10> verlas-
  284.   sen wird, wird nun der Aufruf von MDEBUG sofort beendet.
  285.  
  286. ■ Der  Kommandotreiber MDHISDRV sichert jetzt  Befehlszeilen,  die über
  287.   <CTRL-E>  oder <CTRL-X> restauriert wurden nicht noch ein zweitesmal,
  288.   falls sie nicht vor der erneuten Ausführung editiert wurden.
  289.  
  290. ■ Zusätzlich  wurde  im  Kommandotreiber  MDHISDRV der  Befehl 'BS' neu
  291.   implementiert.  Dieser  Befehl liefert  im Register CX  die Größe des
  292.   eingerichteten  Puffers für  die History-Funktion  und im Register AX 
  293.   die Anzahl der belegten Bytes im Puffer für die History-Funktion.
  294.  
  295. ■ Die Vollversion von MDEBUG enthält jetzt zusätzlich das Util DisStat.
  296.   DisStat dient zur Konvertierung  der Status-Dateien des Disassemblers
  297.   MDDISDRV in ein lesbares Format.
  298.  
  299.   Hinweis:  Die von der Version V2.00  erstellten  Status-Dateien  sind
  300.             NICHT kompatibel zu den Status-Dateien der Version V2.02!
  301.  
  302. ■ Zusätzlich wird zu MDEBUG jetzt die Datei A86.TXT mitgeliefert. Diese
  303.   enthält  eine kurze  Beschreibung  der  in  den Quelltexten zu MDEBUG 
  304.   benutzten speziellen Features des A86. 
  305.  
  306. ■ Ebenfalls  neu in  dieser  Version  ist  die Datei  MDEBUG.REF. Diese
  307.   enthält eine Kurzbeschreibung  der Tastenbelegung und der Befehle von 
  308.   MDEBUG, der neuen Befehle und Tasten der Kommandotreiber MDHISDRV und 
  309.   MDDISDRV und der Tastenbelegung des Disassemblers.
  310.   Beachten Sie  bitte,  daß Sie  vor dem  Ausdrucken dieser  Datei  die
  311.   Formatierungszeichen  durch die  Druckercodes Ihres Druckers ersetzen
  312.   müssen (siehe 'MDEBUG.REF').
  313.  
  314.  
  315.  
  316.  
  317. Behobene Fehler in der Version V2.05 vom 01.12.1992
  318. ───────────────────────────────────────────────────
  319.  
  320. ■ Der Disassembler MDDISDRV hat in der vorherigen Version teilweise die
  321.   Meldungen nur teilweise unkomprimiert  (will sagen: unleserlich) aus-
  322.   gegeben. Der Fehler wurde beseitigt.
  323.  
  324. ■ Der  Disassembler MDDISDRV ist in der vorherigen Version auf einem PC
  325.   mit 80286 oder höheren Prozessor teilweise (je nach dem installiertem
  326.   Interrupt-06h-Handler) in einer Endlosschleife hängengeblieben, falls
  327.   im Dump-Modus die Adresse für die letzte Zeile (= Funktion 'Folge dem
  328.   Befehl') 0nnnnh:0FFFFh war. Der Fehler wurde behoben.
  329.  
  330. ■ CALLMDB.COM  und  die Routine CHECKMD (aus CHECKMD.OBJ) finden MDEBUG
  331.   jetzt auch, falls  es  in einen  Speicherbereich  über  640 K geladen
  332.   wurde.
  333.  
  334.  
  335. Erweiterungen der Version V2.05 vom 01.12.1992
  336. ──────────────────────────────────────────────
  337.  
  338. ■ Meine Adresse hat sich geändert (siehe Datei 'README.DOC').
  339.  
  340. ■ Neu in dieser Version ist die Datei '_T&T_.DOC'. Diese enthält Tips &
  341.   Tricks für die Benutzung von MDEBUG.
  342.  
  343. ■ Neu implementiert  wurde die  Konstante P5.  Diese enthält den Offset
  344.   der  Variablen  'DontHide' (Byte!) von MDEBUG.  Falls  diese Variable
  345.   ungleich 0  ist, restauriert MDEBUG  vor dem  Beenden des PopUps  den
  346.   Bildschirm  NICHT.  Die Variable 'DontHide' wird von MDEBUG bei jeden 
  347.   neuen Popup  wieder auf  0 gesetzt,  daher  sollte  zum Verlassen von   
  348.   MDEBUG ohne Bildschirm-Restauration ein  Macro  (über  den  Kommando-
  349.   treiber MDHISDRV) benutzt werden (z.B. 'E9: MOV CS:*[P5],0FF ~ Q').
  350.  
  351. ■ MDEBUG benutzt ab dieser Version  nur noch einen  simulierten Cursor.
  352.  
  353.   Hierdurch hat die Konstante P4 eine neue Bedeutung bekommen:
  354.  
  355.   Sie enthält nun immer den Offset der Variablen mit dem Farbattributen
  356.   für den Cursor (CS:*[P4] = Attribut für den Insert-Modus,  CS:*[P4+1]
  357.   = Attribut für den Overwrite-Modus).
  358.  
  359.   Zudem wurden die beiden neuen Parameter
  360.  
  361.   'RealCursor=n'
  362.  
  363.   und
  364.  
  365.   'CoC=nn{,mm}'
  366.  
  367.   implementiert (siehe Beschreibung der Parameter von MDEBUG)
  368.  
  369. ■ Die  Treiber  MDHISDRV.COM und MDDISDRV.COM können nun über den neuen
  370.   Parameter /H1 dazu veranlasst  werden, den  residenten  Teil in einen
  371.   Speicherbereich oberhalb von A000h zu verschieben.
  372.   Das gleiche  gilt  für MDEBUG  selbst, wobei hier der Parameter LOADH
  373.   lautet.
  374.  
  375.  
  376.  
  377. Last Minute Infos über MDEBUG und die zugehörigen Utils
  378. ───────────────────────────────────────────────────────
  379.  
  380. Die  folgenden Punkte sind  in der Dokumentation  zu MDEBUG falsch oder
  381. fehlerhaft angegeben:
  382.  
  383. ■ keine bekannten fehlerhaften Angaben in der Dokumentation vorhanden.
  384.  
  385.  
  386. Last Minute Changes von MDEBUG und den zugehörigen Utils
  387. ────────────────────────────────────────────────────────
  388.  
  389. Die folgenden Erweiterungen/Änderungen wurden in letzter  Minute durch-
  390. geführt und konnten daher noch nicht im Handbuch berücksichtigt werden.
  391.  
  392. ■ keine 'Last Minute Changes' in dieser Version
  393.  
  394.